草庐IT

c++ - 将 ListView 控件滚动到特定项目

全部标签

ruby - 如何使用 Ruby(和 open-uri)并行处理数组中的项目

我想知道如何使用open-uri打开多个并发连接?我认为我需要以某种方式使用线程或纤维,但我不确定。示例代码:defget_doc(url)beginNokogiri::HTML(open(url).read)rescueException=>exputs"Failedat#{Time.now}"puts"Error:#{ex}"endendarray_of_urls_to_process=[......]#HowcanIiterateoveritemsinthearrayinparallel(insteadofoneatatime?)array_of_urls_to_process.

ruby-on-rails - 有没有一种方法可以在不首先实例化对象的情况下验证 ActiveRecord 上的特定属性?

例如,如果我有一个用户模型并且我只需要验证登录(这可能发生在通过ajax验证表单时),那么如果我使用用户模型中定义的相同模型验证而不实际实例化会很棒一个用户实例。所以在Controller中我可以编写如下代码User.valid_attribute?(:login,"loginvalue")无论如何我可以做到这一点吗? 最佳答案 由于验证是在实例上运行的(并且它们使用实例的错误属性作为错误消息的容器),所以您不能在没有实例化对象的情况下使用它们。话虽如此,您可以将此所需行为隐藏到类方法中:classUservalue)unlessm

ruby - 使用 ruby​​ 的特定 dom 元素的屏幕截图

有没有办法做到this使用capybara+phantomjs。或者更复杂的东西,比如将整页屏幕截图裁剪到特定的dom元素? 最佳答案 Apullrequest已提交此功能。即将关闭,您将可以使用driver.renderselector:'#some_id`在下一个版本中。 关于ruby-使用ruby​​的特定dom元素的屏幕截图,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

c - Ruby C 扩展开发人员的命名约定

在用C为ruby​​编写扩展时,我对遵循正确的命名约定很感兴趣。具体来说,我指的是将_p添加到谓词的函数名称以及为变量添加前缀m代表模块,c代表类等等。例如,如果我们想在C语言中定义一个像下面这样的谓词方法,我们应该在定义该方法的函数中使用_p作为后缀。classMyClassdefawesome?trueendend在C中:staticVALUEmy_extension_my_class_awesome_p(VALUEself){returnQtrue;}voidInit_my_extension(void){VALUEcMyClass=rb_define_class("MyClas

ruby - 为什么没有更多的项目使用 Ruby Symbols 而不是 Strings?

当我第一次开始阅读和学习ruby​​时,我读到了一些关于ruby​​符号相对于字符串的强大功能:符号只在内存中存储一​​次,而字符串每个字符串在内存中存储一​​次,即使它们是相同的。比如:Rails的paramsHash在Controller中有一堆key作为符号:params[:id]orparams[:title]...但是Sinatra和Jekyll等其他规模适中的项目不会这样做:杰基尔:post.data["title"]orpost.data["tags"]...西纳特拉:params["id"]orparams["title"]...这使得阅读新代码变得有些棘手,并且难以转

Ruby:Phantom.js 在特定站点上被阻止?

我正在使用capybarapoltergeist来自动化tumblr.com上的一个小脚本我的脚本在我的chrome驱动程序上运行良好。我的poltergeist驱动程序加载所有其他网站都很好,但由于某种原因,当我尝试加载tumblr时抛出Capybara::Poltergeist::StatusFailError.复制步骤:$brewinstallphantomjs$geminstallcapybara$geminstallpoltergeist$geminstallselenium-webdriver$irbrequire'capybara/poltergeist'moduleDr

ruby - 如何为仅限 Ruby 的项目将可用语言环境添加到 i18n?

我正在开发一个使用Mongoid实现持久性的纯Ruby项目(不是RubyonRails)。Mongoid支持通过本地化字段使用I18n进行语言翻译:http://mongoid.org/en/mongoid/docs/documents.html#localized_fields但是,我不知道如何添加其他语言环境作为配置选项。I18n.available_locales仅报告:en我所做的所有搜索都显示了如何在Rails上下文中配置和使用I18n。任何人都可以帮助我如何配置I18n并添加其他语言环境,以便我可以为Mongoid文档设置本地化的字段值。谢谢!

ruby-on-rails - 为 Rails 3.1 中的特定路由强制使用 SSL

我需要在应用程序中的所有路由上强制使用SSL,landing#index除外。在config/application.rb中,我有:config.force_ssl=true然后在landing_controller.rb中,我有:force_ssl:except=>:index但是,所有路由仍在重定向到https。有谁知道如何在Rails3.1+应用程序中有条件地强制使用SSL?解决方案:将以下内容添加到您的Gemfile:gem'rack-ssl-enforcer'将以下内容添加到您的config/application.rb:config.middleware.useRack::

ruby-on-rails - 如何将特定请求详细信息记录到 Rails 服务器日志

我通常不喜欢在不了解正在发生的事情的情况下直接询问如何做某事,但我对Rails还很陌生,我很难做到这一点。基本上,我需要在单个日志语句中为每个请求捕获以下信息(如果可能的话)日志条目日期日志录入时间HTTP方法请求的URL港口请求者IP地址请求者的用户代理引用网址HTTP响应码主机名自定义日志格式的首选方式是什么?是否可以只修改现有日志并将此信息传递给它?或者我是否需要扩展和覆盖我需要的行为?我不需要将其保存到不同的日志文件或任何其他文件中,只需在每次请求时输出到STDOUT。如有任何帮助,我们将不胜感激。谢谢! 最佳答案 我知道这

ruby - 如何在 Ruby 中获取字符串匹配正则表达式的特定部分?

我有一个字符串Unnecessary:12357927251data并且我需要选择冒号和数字之后的所有数据。我将使用Regexp来完成。string.scan(/:\d+.+$/)这会给我:12357927251data,但是我可以只选择需要的信息.+(data)吗? 最佳答案 正则表达式中括号中的任何内容都将被捕获为一个组,您可以在$1、$2等中或使用[]在匹配对象上:string.match(/:\d+(.+)$/)[1]如果将扫描与捕获组一起使用,您将获得一组数组:"Unnecessary:123data\nUnnecessa